package com.tencent.org.domain;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.tencent.basic.domain.BaseDomain;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 实体类 ： 部门
 */
@Data // 会在编译时自动生成Getter/Setter方法  equals tostring 无参
public class Department extends BaseDomain {

  /** 部门编号 */
  private String sn;
  /** 部门名称 */
  private String name;
  /** 部门路径 */
  private String dirPath;
  /** 部门状态 */
  private Integer state;

  /** 部门经理的ID */
  private Long manager_id;

  /** 部门经理关联对象 */
  private Employee manager;

  /** 上级部门ID */
  private Long parent_id;

  /** 上级部门联对象 */
  private Department parent;

  /** 用于部门树 - 封装当前子部门的 */
  /** 部门树最后一级没有数据就不显示 */
  @JsonInclude(JsonInclude.Include.NON_EMPTY)
  private List<Department> children = new ArrayList<>();
}
